System and method for processing audio-only programs in a television receiver

ABSTRACT

An apparatus and a method for processing programs indicated by the associated program description to be audio-only programs, including the following. A respective program description for programs is received. Upon user selection of a program, a determination is made as to whether the selected program is an audio-only program. If the selected program is an audio-only program, then preprogrammed on-screen display information is displayed while the selected audio-only program is played to provide additional visual entertainment for users.

This application is a 371 U.S. National Stage of InternationalApplication No. PCT/US98/11866 filed Jun. 5, 1998, which in turn claimsthe benefit of U.S. Provisional Application 60/048,879 filed Jun. 6,1997.

FIELD OF INVENTION

This invention generally relates to the field of electronic programguide processing and more particularly, to a system and method forprocessing a program indicated by its program description information tobe an audio-only program.

BACKGROUND OF INVENTION

Electronic devices such as televisions and personal computers (PC)require a control system that includes a user interface system.Typically, a user interface provides information to a user andsimplifies use of the device. One example of a user interface is anElectronic Program Guide (EPG) in a television system.

An EPG is an interactive, on-screen display feature that displaysinformation analogous to TV listings found in local newspapers or otherprint media. In addition, an EPG also includes information necessary forcollating and decoding programs. An EPG provides information about eachprogram within the time frames covered by the EPG which typically rangesfrom the next hour up to seven days. The information contained in an EPGincludes programming characteristics such as channel number, programtitle, start time, end time, elapsed time, time remaining, rating (ifavailable), topic, theme, and a brief description of the program'scontent. EPGs are usually arranged in a two-dimensional table or gridformat with time information on one axis and channel information on theother axis.

Unlike non-interactive guides that reside on a dedicated channel andmerely scroll through the current programming on the other channels forthe next 2 to 3 hours, EPGs allow viewers to select any channel at anytime during some period into the future, e.g., up to seven otherchannels for the next 2 to 3 hours, EPGs allow viewers to select anychannel at any time during some period into the future, e.g., up toseven days forward. Further EPG features include the ability tohighlight individual cells of the grid containing program information.Once highlighted, the viewer can perform functions pertaining to thatselected program. For instance, the viewer could instantly switch tothat program if it is currently being aired. Viewers could also programone touch video cassette recording (VCR) or the like if the televisionis properly configured and connected to a recording device. Such EPGsare known in the art and described, for instance, in U.S. Pat. Nos.5,353,121; 5,479,268; and 5,479,266 issued to Young et al. and assignedto StarSight Telecast, Inc.

In addition, U.S. Pat. No. 5,515,106, issued to Chaney et al., andassigned to the same assignee of the present invention, describes indetail an exemplary embodiment including data packet structure necessaryto implement an exemplary program guide system. The exemplary datapacket structure is designed so that both the channel information (e.g.,channel name, call letters, channel number, type, etc.) and the programdescription information (e.g., content, title, rating, star, etc.)relating to a program may be transmitted from a program guide databaseprovider to a receiving apparatus efficiently.

Also, as discussed in the Chaney patent, it is envisioned that varioustypes of programs will be available to users, including, for example,video and audio program, audio-only program, video-only program or datatype program such as an executable computer program or email. In orderto uniquely identify the different types of programs mentioned above, a“class” field, for example, is designated in the program guide packetstructure to indicate the type of program to be transmitted. The “class”field may be, for example, “audio-video”, “audio”, “video” or “data”,corresponding respectively to the types of programs described above.

D1, U.S. Pat. No. 5,585,866, discloses a receiver capable of receivingboth an audiovisual and an audio-only program. The receiver in D1 isable to play a received audio-only program while displaying non-moving,associated program text data on the receiver's display. Of course,various methods for generating graphics, including animated graphics, ona display are well know in the art. For example, various methods aredisclosed in D2, an article by Richard G. Shroup, entitled “Color TableAnimation,” in the Proc. Of Annual Conference on Computer Graphics andInteract. Tech. (SIGGRAPH '79), 6^(th); Chicao, Ill., USA, Aug. 8–10,1979, Vol. 13, no. 2, August 1979, pages 8–13, XP002075128, Comput.Graphics (ACM) August 1979. However, references D1 and D2 either aloneor combined, do not teach or suggest that it is desirable to displaypre-stored animated pictures either automatically or in response to auser request, when an audio-only program is activated. The animatedpicture may serve as additional entertainment to a user and/or functionas a screen saver to prevent screen burn.

SUMMARY OF THE INVENTION

Therefore, the present inventors recognize that it is desirable to beable to process each type of programs differently depending on theassociated program description received in the program guideinformation. In particular, the present inventors recognize that it isadvantageous to provide animated image on a screen, so that a user maybe better entertained visually and/or serve as a screen saver when anaudio-only program is played.

Hence, in accordance with aspects of the invention, an apparatus forprocessing a first type of program having both audio and video contentand a second type of program having audio-only content, characterized inthat:

-   -   memory means for storing display information representing an        animated image;    -   control means for determining whether a selected program is the        first type of program having both audio and video content or the        second type of program having audio-only content; and the        control means causes the playing of the audio content and        displaying of the video content when the selected program is a        first type of program and causes the playing of the audio-only        content and displaying of the animated image when the selected        program is a second type of program.

Also, a method for processing a first type of program having both audioand video content and a second type of program having audio-onlycontent, characterized in that:

-   -   storing display information representing an animated image;    -   determining whether a selected program is the first type of        program having both audio and video content or the second type        of program having audio-only content;    -   causing the playing of the audio content and displaying of the        video content when the selected program is a first type of        program; and    -   causing the playing of the audio-only content and displaying of        the animated image when the selected program is a second type of        program.”

BRIEF DESCRIPTION OF THE DRAWINGS

In the drawing:

FIG. 1 shows an example of a television system suitable for processingvarious types of programs, including audio-only programs and associatedprogram description information in accordance with the presentinvention.

FIG. 2 shows an example of a digital video processing apparatus suitablefor processing various types of programs, including audio-only programsand associated program description information in accordance with thepresent invention.

FIG. 3 shows a block diagram of a specific implementation of a digitalsatellite system suitable for processing audio-only programs andassociated program description information in accordance with thepresent invention.

FIG. 4 shows an example of a program guide being displayed.

FIG. 5 shows a flowchart, in accordance with the present invention forprocessing user inputs and audio-only programs according to the presentinvention.

FIG. 6 shows an example of an animation screen.

DETAILED DESCRIPTION

FIG. 1 shows an example of a television system suitable for processingvarious types of programs, including audio-only programs and associatedprogram guide information in accordance with the present invention. Thetelevision receiver shown in FIG. 1 is capable of processing both analogNTSC television signals and internet information. The system shown inFIG. 1 has a first input 1100 for receiving television signal RF_(—)INat RF frequencies and a second input 1102 for receiving basebandtelevision signal VIDEO IN. Signal RF_(—)IN may be supplied from asource such as an antenna or cable system while signal VIDEO IN may besupplied, for example, by a video cassette recorder (VCR). Tuner 1105and IF processor 1130 operate in a conventional manner for tuning anddemodulating a particular television signal that is included in signalRF_(—)IN. IF processor 1130 produces baseband video signal VIDEOrepresenting the video program portion of the tuned television signal.IF processor 1130 also produces a baseband audio signal that is coupledto an audio processing section (not shown in FIG. 1) for further audioprocessing. Although FIG. 1 shows input 1102 as a baseband signal, thetelevision receiver could include a second tuner and IF processorsimilar to units 1105 and 1130 for producing a second baseband videosignal from either signal RF_(—)IN or from a second RF signal source.

The system shown in FIG. 1 also includes a main microprocessor (mP) 1110for controlling components of the television receiver such as tuner1105, picture-in-picture processing unit 1140, video signal processor1155, and StarSight® data processing module 1160. As used herein, theterm “microprocessor” represents various devices including, but notlimited to, microprocessors, microcomputers, microcontrollers andcontrollers. Microprocessor 1110 controls the system by sending andreceiving both commands and data via serial data bus I²C BUS whichutilizes the well-known I²C serial data bus protocol. More specifically,central processing unit (CPU) 1112 within mP 1110 executes controlprograms contained within memory, such as EEPROM 1127 shown in FIG. 1,in response to commands provided by a user, e.g., via IR remote control1125 and IR receiver 1122. For example, activation of a “CHANNEL UP”feature on remote control 1125 causes CPU 1112 to send a “changechannel” command along with channel data to tuner 1105 via I²C BUS. As aresult, tuner 1105 tunes the next channel in the channel scan list.Another example of a control program stored in EEPROM 1127 is softwarefor implementing the operations shown in FIG. 5 to be discussed belowand in accordance with the present invention.

Main microprocessor 1110 also controls the operation of a communicationsinterface unit 1113 for providing the capability to upload and downloadinformation to and from the internet. Communication interface unit 1113includes, for example, a modem for connecting to an internet serviceprovider, e.g., via a telephone line or via a cable television line. Thecommunication capability allows the system shown in FIG. 1 to provideemail capability and internet related features such as web browsing inaddition to receiving television programming.

CPU 1112 controls functions included within mP 1110 via bus 1119 withinmP 1110. In particular, CPU 1112 controls auxiliary data processor 1115and on-screen display (OSD) processor 1117. Auxiliary data processor1115 extracts auxiliary data such as StarSight® data from video signalPIPV.

StarSight® data which provides program guide data information in a knownformat is typically received only on a particular television channel andthe television receiver must tune that channel to extract StarSight®data. To prevent StarSight® data extraction from interfering with normaluse of the television receiver, CPU 1112 initiates StarSight® dataextraction by tuning the particular channel only during a time periodwhen the television receiver is usually not in use (e.g., 2:00 AM). Atthat time, CPU 1112 configures decoder 1115 such that auxiliary data isextracted from horizontal line intervals such as line 16 that are usedfor StarSight® data. CPU 1112 controls the transfer of extractedStarSight® data from decoder 1115 via I²C BUS to StarSight® module 1160.A processor internal to the module formats and stores the data in memorywithin the module. In response to the StarSight® EPG display beingactivated (e.g., a user activating a particular key on remote control125), CPU 1112 transfers formatted StarSight® EPG display data fromStarSight® module 1160 via I²C BUS to OSD processor 1117.

OSD processor 1117 operates in a conventional manner to produce R, G,and B video signals OSD_(—)RGB that, when coupled to a displayed device(not shown), will produce a displayed image representing on-screendisplay information such as on-screen graphics and/or text in accordingto a flow chart shown in FIG. 5 and to be described later. OSD processor1117 also produces control signal Fast-Switch (FSW) which is intended tocontrol a fast switch for inserting signals OSD_(—)RGB into the system'svideo output signal at times when an on-screen display is to bedisplayed. Therefore, when a user enables the animation feature of thepresent invention to be described later, OSD processor 1117 produces thecorresponding signals OSD_(—)RGB representing the on-screen displayinformation previously stored or programmed in the memory 1127. Forexample, when a user enables an EPG, e.g., by activating a particularswitch on remote control 1125, CPU 1112 enables processor 1117. Inresponse, processor 1117 produces signals OSD_(—)RGB representing theprogram guide data information previously extracted and already storedin memory, as discussed above. Processor 1117 also produces signal FSWindicating when the EPG is to be displayed.

Video signal processor (VSP) 1155 performs conventional video signalprocessing functions, such as luma and chroma processing. Output signalsproduced by VSP 1155 are suitable for coupling to a display device,e.g., a kinescope or LCD device (not shown in FIG. 1), for producing adisplayed image. VSP 1155 also includes a fast switch for couplingsignals produced by OSD processor 1117 to the output video signal pathat times when graphics and/or text is to be included in the displayedimage. The fast switch is controlled by control signal FSW which isgenerated by OSD processor 1117 in main microprocessor 1110 at timeswhen text and/or graphics are to be displayed.

The input signal for VSP 1155 is signal PIPV that is output bypicture-in-picture (PIP) processor 1140. When a user activates PIP mode,signal PIPV represents a large picture (large pix) into which a smallpicture (small pix) is inset. When PIP mode is inactive, signal PIPVrepresents just the large pix, i.e., no small pix signal is included insignal PIPV. PIP processor 1140 provides the described functionality ina conventional manner using features included in unit 1140 such as avideo switch, analog-to-digital converter (ADC), RAM, and digital toanalog converter (DAC).

As mentioned above, the display data included in the EPG display isproduced by OSD processor 1117 and included in the output signal by VSP1155 in response to fast switch signal FSW. When controller 1110 detectsactivation of the EPG display, e.g., when a user presses an appropriatekey on remote control 1125, controller 1110 causes OSD processor 1117 toproduce the EPG display using information such as program guide datafrom StarSight® module 1160. Controller 1110 causes VSP 1155 to combinethe EPG display data from OSD processor 1117 and the video image signalin response to signal FSW to produce a display including EPG. The EPGcan occupy all or only a portion of the display area.

When the EPG display is active, controller 1110 executes a controlprogram stored in EEPROM 1127. The control program monitors the locationof a position indicator, such as a cursor and/or highlighting, in theEPG display. A user controls the location of the position indicatorusing direction and selection keys of remote control 1125.Alternatively, the system could include a mouse device. Controller 1110detects activation of a selection device, such as clicking a mousebutton, and evaluates current cursor location information in conjunctionwith EPG data being displayed to determine the function desired, e.g.,tuning a particular program. Controller 1110 subsequently activates thecontrol action associated with the selected feature.

An exemplary embodiment of the features of the system shown in FIG. 1that have been described thus far comprises an ST9296 microprocessorproduced by SGS-Thomson Microelectronics for providing the featuresassociated with mP 1110; an M65616 picture-in-picture processor producedby Mitsubishi for providing the described basic PIP functionalityassociated with PIP processor 1140; and an LA7612 video signal processorproduced by Sanyo for providing the functions of VSP 1155.

FIG. 2 shows another example of an electronic device capable ofprocessing various types of programs including audio-only programs andthe associated program guide in accordance with the present invention.As described below, the system shown in FIG. 2 is an MPEG compatiblesystem for receiving MPEG encoded transport streams representingbroadcast programs. However, the system shown in FIG. 2 is exemplaryonly. User interface systems are also applicable to other types ofdigital signal processing devices including non-MPEG compatible systems,involving other types of encoded datastreams. For example, other devicesinclude digital video disc (DVD) systems and MPEG program streams, andsystems combining computer and television functions such as theso-called “PCTV”. Further, although the system described below isdescribed as processing broadcast programs, this is exemplary only. Theterm ‘program’ is used to represent any form of packetized data such astelephone messages, computer programs, internet data or othercommunications, for example.

In overview, in the video receiver system of FIG. 2, a carrier modulatedwith video data is received by antenna 10 and processed by unit 15. Theresultant digital output signal is demodulated by demodulator 20 anddecoded by decoder 30. The output from decoder 30 is processed bytransport system 25 which is responsive to commands from remote controlunit 125. System 25 provides compressed data outputs for storage,further decoding, or communication to other devices.

Video and audio decoders 85 and 80 respectively, decode the compresseddata from system 25 to provide outputs for display. Data port 75provides an interface for communication of the compressed data fromsystem 25 to other devices such as a computer or High DefinitionTelevision (HDTV) receiver, for example. Storage device 90 stores thecompressed data from system 25 on storage medium 105. Device 90, in aplayback mode also supports retrieval of the compressed data fromstorage medium 105 for processing by system 25 for decoding,communication to other devices or storage on a different storage medium(not shown to simplify drawing).

Considering FIG. 2 in detail, a carrier modulated with video datareceived by antenna 10, is converted to digital form and processed byinput processor 15. Processor 15 includes radio frequency (RF) tuner andintermediate frequency (IF) mixer and amplification stages fordown-converting the input video signal to a lower frequency bandsuitable for further processing. The resultant digital output signal isdemodulated by demodulator 20 and decoded by decoder 30. The output fromdecoder 30 is further processed by transport system 25.

Multiplexer (mux) 37 of service detector 33 is provided, via selector35, with either the output from decoder 30, or the decoder 30 outputfurther processed by a descrambling unit 40. Descrambling unit 40 maybe, for example, a removable unit such as a smart card in accordancewith ISO 7816 and NRSS (National Renewable Security Standards) Committeestandards (the NRSS removable conditional access system is defined inEIA Draft Document IS-679, Project PN-3639). Selector 35 detects thepresence of an insertable, compatible, descrambling card and providesthe output of unit 40 to mux 37 only if the card is currently insertedin the video receiver unit. Otherwise selector 35 provides the outputfrom decoder 30 to mux 37. The presence of the insertable card permitsunit 40 to descramble additional premium program channels, for example,and provide additional program services to a viewer. It should be notedthat in the preferred embodiment NRSS unit 40 and smart card unit 130(smart card unit 130 is discussed later) share the same system 25interface such that only either an NRSS card or a smart card may beinserted at any one time. However, the interfaces may also be separateto allow parallel operation.

The data provided to mux 37 from selector 35 is in the form of an MPEGcompliant packetized transport datastream as defined in MPEG systemsstandard section 2.4 and includes program guide information and the datacontent of one or more program channels. The individual packets thatcomprise particular program channels are identified by PacketIdentifiers (PIDs). The transport stream contains Program SpecificInformation (PSI) for use in identifying the PIDs and assemblingindividual data packets to recover the content of all the programchannels that comprise the packetized datastream. Transport system 25,under the control of the system controller 115, acquires and collatesprogram guide information from the input transport stream, storagedevice 90 or an internet service provider via the communicationinterface unit 116. The individual packets that comprise eitherparticular program channel content or Program Guide information, areidentified by their Packet Identifiers (PIDs) contained within headerinformation. As discussed above, the program description contained inthe program guide information may comprise different program descriptivefields such as title, star, rating, etc., relating to a program.

The user interface incorporated in the video receiver shown in FIG. 2enables a user to activate various features by selecting a desiredfeature from an on-screen display (OSD) menu. The OSD menu may includean electronic program guide (EPG) as described above and other featuresdiscussed below.

Data representing information displayed in the OSD menu is generated bysystem controller 115 in response to stored on-screen display (OSD)information representing text/graphics, stored program guideinformation, and/or program guide and text/graphics information receivedvia the input signal as described above and in accordance with anexemplary control program to be shown in FIG. 5 and to be discussedbelow. The software control program in FIG. 5 may be stored, forexample, in embedded memory (not shown) of system controller 115.

Using remote control unit 125 (or other selection means such as a mouse)a user can select from the OSD menu items such as a program to beviewed, a program to be stored, the type of storage media and manner ofstorage. System controller 115 uses the selection information, providedvia interface 120, to configure system 25 to select the programs forstorage and display and to generate PSI suitable for the selectedstorage device and media. Controller 115 configures system 25 elements45, 47, 50, 55, 65 and 95 by setting control register values withinthese elements via a data bus and by selecting signal paths via muxes 37and 110 with control signal C.

In response to control signal C, mux 37 selects either, the transportstream from unit 35, or in a playback mode, a datastream retrieved fromstorage device 90 via store interface 95. In normal, non-playbackoperation, the data packets comprising the program that the userselected to view are identified by their PIDs by selection unit 45. Ifan encryption indicator in the header data of the selected programpackets indicates the packets are encrypted, unit 45 provides thepackets to decryption unit 50. Otherwise unit 45 provides non-encryptedpackets to transport decoder 55. Similarly, the data packets comprisingthe programs that the user selected for storage are identified by theirPIDs by selection unit 47. Unit 47 provides encrypted packets todecryption unit 50 or non-encrypted packets to mux 110 based on thepacket header encryption indicator information.

The functions of decryptors 40 and 50 may be implemented in a singleremovable smart card which is compatible with the NRSS standard. Thisapproach places all security related functions in one removable unitthat can easily be replaced if a service provider decides to changeencryption technique or to permit easily changing the security system,e.g., to descramble a different service.

Units 45 and 47 employ PID detection filters that match the PIDs ofincoming packets provided by mux 37 with PID values pre-loaded incontrol registers within units 45 and 47 by controller 115. Thepre-loaded PIDs are used in units 47 and 45 to identify the data packetsthat are to be stored and the data packets that are to be decoded foruse in providing a video image. The pre-loaded PIDs are stored inlook-up tables in units 45 and 47. The PID look-up tables are memorymapped to encryption key tables in units 45 and 47 that associateencryption keys with each pre-loaded PID. The memory mapped PID andencryption key look-up tables permit units 45 and 47 to match encryptedpackets containing a pre-loaded PID with associated encryption keys thatpermit their decryption. Non-encrypted packets do not have associatedencryption keys. Units 45 and 47 provide both identified packets andtheir associated encryption keys to decryptor 50. The PID look-up tablein unit 45 is also memory mapped to a destination table that matchespackets containing pre-loaded PIDs with corresponding destination bufferlocations in packet buffer 60. The encryption keys and destinationbuffer location addresses associated with the programs selected by auser for viewing or storage are pre-loaded into units 45 and 47 alongwith the assigned PIDs by controller 115. The encryption keys aregenerated by ISO 7816-3 compliant smart card system 130 from encryptioncodes extracted from the input datastream. The generation of theencryption keys is subject to customer entitlement determined from codedinformation in the input data stream and/or pre-stored on the insertablesmart card itself (International Standards Organization document ISO7816-3 of 1989 defines the interface and signal structures for a smartcard system).

The packets provided by units 45 and 47 to unit 50 are encrypted usingan encryption technique such as the Data Encryption Standard (DES)defined in Federal Information Standards (FIPS) Publications 46, 74 and81 provided by the National Technical Information Service, Department ofCommerce. Unit 50 decrypts the encrypted packets using correspondingencryption keys provided by units 45 and 47 by applying decryptiontechniques appropriate for the selected encryption algorithm. Thedecrypted packets from unit 50 and the non-encrypted packets from unit45 that comprise the program for display are provided to decoder 55. Thedecrypted packets from unit 50 and the non-encrypted packets from unit47 that comprise the program for storage are provided to mux 110.

Unit 60 contains four packet buffers accessible by controller 115. Oneof the buffers is assigned to hold data destined for use by controller115 and the other three buffers are assigned to hold packets that aredestined for use by application devices 75, 80 and 85. Access to thepackets stored in the four buffers within unit 60 by both controller 115and by application interface 70 is controlled by buffer control unit 65.Unit 45 provides a destination flag to unit 65 for each packetidentified by unit 45 for decoding. The flags indicate the individualunit 60 destination locations for the identified packets and are storedby control unit 65 in an internal memory table. Control unit 65determines a series of read and write pointers associated with packetsstored in buffer 60 based on the First-In-First-Out (FIFO) principle.The write pointers in conjunction with the destination flags permitsequential storage of an identified packet from units 45 or 50 in thenext empty location within the appropriate destination buffer in unit60. The read pointers permit sequential reading of packets from theappropriate unit 60 destination buffers by controller 115 andapplication interface 70.

The non-encrypted and decrypted packets provided by units 45 and 50 todecoder 55 contain a transport header as defined by section 2.4.3.2 ofthe MPEG systems standard. Decoder 55 determines from the transportheader whether the non-encrypted and decrypted packets contain anadaptation field (per the MPEG systems standard). The adaptation fieldcontains timing information including, for example, Program ClockReferences (PCRs) that permit synchronization and decoding of contentpackets. Upon detection of a timing information packet, that is a packetcontaining an adaptation field, decoder 55 signals controller 115, viaan interrupt mechanism by setting a system interrupt, that the packethas been received. In addition, decoder 55 changes the timing packetdestination flag in unit 65 and provides the packet to unit 60. Bychanging the unit 65 destination flag, unit 65 diverts the timinginformation packet provided by decoder 55 to the unit 60 buffer locationassigned to hold data for use by controller 115, instead of anapplication buffer location.

Upon receiving the system interrupt set by decoder 55, controller 115reads the timing information and PCR value and stores it in internalmemory. PCR values of successive timing information packets are used bycontroller 115 to adjust the system 25 master clock (27 MHz). Thedifference between PCR based and master clock based estimates of thetime interval between the receipt of successive timing packets,generated by controller 115, is used to adjust the system 25 masterclock. Controller 115 achieves this by applying the derived timeestimate difference to adjust the input control voltage of a voltagecontrolled oscillator used to generate the master clock. Controller 115resets the system interrupt after storing the timing information ininternal memory.

Packets received by decoder 55 from units 45 and 50 that contain programcontent including audio, video, caption, and other information, aredirected by unit 65 from decoder 55 to the designated application devicebuffers in packet buffer 60. Application control unit 70 sequentiallyretrieves the audio, video, caption and other data from the designatedbuffers in buffer 60 and provides the data to corresponding applicationdevices 75, 80 and 85. The application devices comprise audio and videodecoders 80 and 85 and high speed data port 75. For example, packet dataare processed according to the type of program in accordance to a flowchart shown in FIG. 5 to be discussed later. Also, packet datacorresponding to a composite program guide generated by the controller115 as described above, may be transported to the video decoder 85 forformatting into video signal suitable for display on a monitor (notshown) connected to the video decoder 85. Also, for example, data port75 may be used to provide high speed data such as computer programs, forexample, to a computer. Alternatively, port 75 may be used to outputdata to an HDTV decoder to display images corresponding to a selectedprogram or a program guide, for example.

Packets that contain PSI information are recognized by unit 45 asdestined for the controller 115 buffer in unit 60. The PSI packets aredirected to this buffer by unit 65 via units 45, 50 and 55 in a similarmanner to that described for packets containing program content.Controller 115 reads the PSI from unit 60 and stores it in internalmemory.

Controller 115 also generates condensed PSI (CPSI) from the stored PSIand incorporates the CPSI in a packetized datastream suitable forstorage on a selectable storage medium. The packet identification anddirection is governed by controller 115 in conjunction with the unit 45and unit 47 PID, destination and encryption key look-up tables andcontrol unit 65 functions in the manner previously described.

In addition, controller 115 is coupled to a communication interface unit116 that operates in a manner similar to interface unit 1113 in FIG. 1.That is, unit 116 provides the capability to upload and downloadinformation to and from the internet. Communication interface unit 116includes, for example, a modem for connecting to an internet serviceprovider, e.g., via a telephone line or via a cable television line. Thecommunication capability allows the system shown in FIG. 2 to provideemail capability and internet related features such as web browsing inaddition to receiving television programming.

FIG. 3 is a specific implementation of an electronic device generallyshown in FIG. 2 and described in detail above. FIG. 3 represents asatellite receiver set-top box, designed and manufactured by ThomsonConsumer Electronics, of Indianapolis, Ind., USA, for receiving DirecTV™satellite service provided by Hughes Electronics.

As shown in FIG. 3, the set-top box has a tuner 301 which receives andtunes applicable satellite RF signals in the range of 950–1450 Mhz froma satellite antenna 317. The tuned analog signals are outputted to alink module 302 for further processing. Link module 302 is responsiblefor further processing of the analog tuned signals I_(—)out and Q_(—)outfrom tuner 301, including filtering and conditioning of the analogsignals, and conversion of the analog signals into a digital outputsignal, DATA. The link module 302 is implemented as an integratedcircuit (IC). The link module IC is manufactured by SGS-ThomsonMicroelectronics of Grenoble, France, and has Part No. ST 15339-610.

The digital output, DATA, from the link module 302 consists of compliantpacketized data stream recognized and processable by the transport unit303. The datastream, as discussed in detail in relation to FIG. 2,includes program guide data information and the data content of one ormore program channels of the satellite broadcast service from DirecTV™.As discussed above, program guide data contains information relating tothe what type of program (e.g., audio-only, video-only, etc) asindicated, for example, by the “class” type.

The function of the transport unit 303 is the same as the transportsystem 25 shown in FIG. 2 and discussed already. As described above, thetransport unit 303, processes the packetized datastream according to thePacket Identifiers (PID) contained in the header information. Theprocessed datastream are then formatted into MPEG compatible, compressedaudio and video packets and coupled to a MPEG decoder 304 for furtherprocessing.

The transport unit 303 is controlled by an Advanced RISC Microprocessor(ARM) 315 which is a RISC based microprocessor. The ARM processor 315executes control software residing in ROM 308. One component of thesoftware may be, for example, a control program shown in FIG. 5 forprocessing programs according to their program type in accordance withaspects of the present invention as will be discussed below.

The transport unit 303 may be implemented as an integrated circuit. Forexample, a preferred embodiment of the transport unit is an ICmanufactured by SGS-Thomson Microelectronics having Part No. ST15273-810 or 15103-65C.

The MPEG compatible, compressed audio and video packets from thetransport unit 303 are delivered to a MPEG decoder 304. The MPEG decoderdecodes the compressed MPEG datastream from the transport unit 303. Thedecoder 304 then outputs the applicable audio stream which can befurther processed by the audio digital-to-analog converter (DAC) 305 toconvert the digital audio data into analog sound. The decoder 304 alsooutputs applicable digital video data which represents image pixelinformation to a NTSC encoder 306. The NTSC encoder 306 then furtherprocesses this video data into NTSC compatible analog video signal sothat video images may be displayed on a regular NTSC television screen.An example of a preferred embodiment of the MPEG decoder is an ICmanufactured by SGS-Thomson Microelectronics having Part No. ST 13520.

Included in the MPEG IC 304 is an OSD processor 320. The OSD processor320 reads data form SDRAM 316 which contains stored OSD information. OSDinformation corresponds to bitmap OSD graphics/text images. The OSDprocessor 320 is capable of varying the color of each pixel of an OSDimage under the control of the ARM microprocessor 315 in a conventionalmanner.

The OSD processor 320 is also responsible for generating an exemplaryprogram guide as shown in FIG. 4 under the control of the ARM processor315. In our exemplary embodiment, upon detecting a user request togenerate a guide display, the ARM microprocessor 315 processes theprogram guide data information obtained from a data stream provided by aprogram guide information provider and formats the guide datainformation into OSD pixel data corresponding to a full “grid guide” asshown in FIG. 4. The OSD pixel data from the transport unit 303 is thenforwarded to OSD processor 320 in the MPEG audio/video decoder 304 forgenerating the guide image, as described before.

As shown in FIG. 4, the “grid guide” 400 typically occupies the wholescreen of a display. The grid guide 400 shows a program schedule in atime-and-channel format, similar to a TV schedule listed in a newspaper.In particular, one dimension (e.g., horizontal) of the guide shows thetime information while the other dimension (e.g., vertical) of the guideshows the channel information. The time information is conveyed to theuser by having a time line 401 on the top portion of the guide and isdemarked by half hour intervals. The channel information is conveyed tothe user by channel numbers 410–416 and corresponding channel stationnames 420–426.

In addition, the program guide 400 contains icons Internet 450 and Email460. By clicking on these icons, a user can surf the internet andsend/receive email respectively through the communication interface unit307. In addition, an internet web site icon may also be incorporatedinto a grid of a program guide. For example, by clicking on “ESPN.com”within grid 470, the user will automatically be linked to, for example,an ESPN web site.

Additional relevant functional blocks of FIG. 3 includes modem 307 whichcorresponds to the communication interface unit 116 shown in FIG. 2 foraccess to the internet, for example. Conditional Access Module (CAM)309, corresponds to the NRSS decryption unit 130 shown in FIG. 2 forproviding conditional access information. Wideband data module 310corresponds to High Speed Data Port 75 shown in FIG. 2 for providinghigh speed data access to, for example, a HDTV decoder or a computer. Akeyboard/IR Receiver module 312 corresponds to Remote Unit interface 120shown in FIG. 2 for receiving user control commands from a user controlunit 314. Digital AV bus module 313 corresponds to I/O port 100 shown inFIG. 2 for connection to an external device such as a VCR or a DVDplayer.

FIG. 5 shows the flow chart of an exemplary control program which may beexecuted by either the CPU 1112 of FIG. 1, Controller 115 of FIG. 2, orARM microprocessor 315 of FIG. 3 to implement the features according toaspects of the present invention. A person skilled in the art wouldreadily recognize that the control program in FIG. 5 when executed byany one of the systems described in FIGS. 1–3 will provide the samefeatures in accordance with the present invention. Therefore, to avoidredundancy, the control program shown in FIG. 5 will be described belowonly with respect to the exemplary hardware implementation shown in FIG.3.

As shown at step 510 and as discussed above, on-screen displayinformation representing graphics/text images to be displayed accordingto aspects of the present invention is typically preprogrammed andalready stored in, for example, the SDRAM 316. The system shown in FIG.3 also processes and stores program description information contained inthe program guide data for each of the programs described in the programguide data, as shown at step 515. In particular, the “class” informationwhich indicates the type (e.g., audio-only, video-only, audio-video,data, etc.) of program, is retrieved and stored in DRAM 316 by ARMprocessor 315.

At step 520, a user may select a program from the program guide shown inFIG. 4, for example, by highlighting the grid containing the program,using a user control unit 314 of the system shown in FIG. 3. As anexample, as shown in FIG. 4, the user has selected the program “SONG 1”in grid 430 by highlighting it.

Once a program is selected, the ARM processor 315 will determine if theselected program is an audio-only program as shown at step 525. Asdescribed before, the ARM program determines this by examining the“class” information contained in the program guide data for thisselected program. If the ARM processor 315 determines that this programis not an audio-only program, but is for example, a program havingsimultaneous audio and video information, the ARM processor 315 willthen process this program as normal, by simultaneously displaying thereceived video and playing the received audio portion of the program, asshown at step 530.

On the other hand, if the ARM processor, at step 525, determines thatthe received program is an audio-only program, the ARM processor 315will further determine if an animation feature has been previouslyselected by the user, as shown at step 535. If the ARM processordetermines that the user has not preselected the animation feature, theARM processor will play the received audio program and display only ablank or blue screen, as shown at step 540. If on the other hand, theARM processor 315 determines that the user has preselected the animationfeature and the selected program is an audio-only program, then the ARMprocessor will proceed to step 545.

At step 545, the ARM processor 315 will instruct the OSD processor 320to retrieve preprogrammed OSD information for implementing the animationfeature according to the present invention from memory 316. The ARMprocessor 315 will also instruct the OSD processor 320 to display theOSD information on a display 600 as shown in FIG. 6.

The OSD information in our exemplary embodiment corresponds to a screenhaving a plurality of screen elements 601–606. The screen elements inthis case are, for example, a series of paw prints 601–606. The ARMprocessor will also instruct the OSD processor 320 to display associatedprogram descriptive information contained in the program guideinformation about this audio-only program. For example, the programdescriptive information about the content, title, artist and class typeof this program are displayed on the screen 600 as shown in FIG. 6.

In addition, to achieve an animated effect of the screen elements606—606 in our embodiment, the ARM processor will change the colorscheme of the screen elements 601–606. For example, the ARM processormay instruct the OSD processor 320 to display all the paw prints 601–606initially in the same color as the background color (e.g., blue). TheOSD may then sequentially change the color of each paw print startingfrom paw print 601 to paw print 606 and so forth. A viewer may then havethe visual effect of seeing a paw gradually stepping upward, leavingbehind a trial of prints.

In addition, the same on-screen display information used in theanimation feature thus described may also be used as a screen saver. Forexample, the ARM processor 315 may have a timer routine which keepstrack of when the last user command is entered via the user control 314.If a certain time (e.g., 3 mins) has passed since the last user entry,the ARM processor will instruct the OSD processor to display the sameOSD information used in the animation feature described above to preventscreen burns. This is advantageous since system resources, especiallymemory resources are conserved by using the same OSD information toachieve both purposes.

It is to be understood that the embodiments and variations shown anddescribed herein are for illustrations only and that variousmodifications may be implemented by those skilled in the art withoutdeparting from the scope and spirit of the invention.

1. An apparatus for processing a first type of program having both audioand video content and a second type of program having audio-onlycontent, comprising: memory means for storing display informationrepresenting an animated image; user control means for selecting ananimated feature; control means for determining a type of program of aselected program; and the control means causes, when the selectedprogram is determined to be the first type of program, playing of theaudio content and displaying of the video content associated with theselected program; and causes, when the selected program is the secondtype of program and the animated feature has been selected, playing ofthe audio-only content associated with the selected program anddisplaying of the stored animated image, or playing of the audio-onlycontent associated with the selected program and displaying of a staticscreen when the animated feature is not selected.
 2. The apparatus ofclaim 1, wherein the static screen is a blank screen.
 3. The apparatusof claim 1, wherein the static screen is a blue screen.
 4. The apparatusof claim 1, wherein the type of program is based on program guideinformation received.
 5. A method for processing a first type of programhaving both audio and video content and a second type of program havingaudio-only content, comprising the steps of: storing display informationrepresenting an animated image; determining whether an animated featurehas been selected; and determining a type of program of a selectedprogram; if the type of program is determined as the first type ofprogram, causing playing of the audio content and displaying of thevideo content associated with the selected program; if the type ofprogram is determined as the second type of program and the animatedfeature has been selected, causing playing of the audio-only contentassociated with the selected program and displaying of the animatedimage; and if the type of program is determined as the second type ofprogram and the animated feature has not been selected, causing playingof the audio-only content associated with the selected program anddisplaying of a static screen.
 6. The method of claim 5, wherein thestatic screen is a blank screen.
 7. The method of claim 5, wherein thestatic screen is a blue screen.
 8. The method of claim 5, wherein thetype of program is based on program guide information received.
 9. Themethod of claim 5, wherein the animated image serves as a screen saver.